package csomag.telefonregiszter.entitasok;

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="felhasznalok")
public class Felhasznalo {
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private int id;
	
	private String felhasznalonev;
	private String jelszo;
	private String vezeteknev;
	private String keresztnev;
	
	@Column(name="email") 
	private String emailCim;
	
	@ManyToOne
	@JoinColumn(name="varosId")
	private Varos varos;
	
	private String jelszoKodolo(String jelszo) {
		String kodoltJelszo = null;
		
		try {
			MessageDigest sha1 = MessageDigest.getInstance("SHA-1");
			sha1.update(jelszo.getBytes());
			BigInteger hash = new BigInteger(1, sha1.digest());
			kodoltJelszo = hash.toString(16);
		} catch (NoSuchAlgorithmException nsae) {
		}
		
		return kodoltJelszo;
	}
	
	public Varos getVaros() {
		return varos;
	}
	public void setVaros(Varos varos) {
		this.varos = varos;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getFelhasznalonev() {
		return felhasznalonev;
	}
	public void setFelhasznalonev(String felhasznalonev) {
		this.felhasznalonev = felhasznalonev;
	}
	public String getJelszo() {
		return jelszo;
	}
	public void setJelszo(String jelszo) {
		this.jelszo = jelszoKodolo(jelszo);
	}
	public String getVezeteknev() {
		return vezeteknev;
	}
	public void setVezeteknev(String vezeteknev) {
		this.vezeteknev = vezeteknev;
	}
	public String getKeresztnev() {
		return keresztnev;
	}
	public void setKeresztnev(String keresztnev) {
		this.keresztnev = keresztnev;
	}
	public String getEmailCim() {
		return emailCim;
	}
	public void setEmailCim(String emailCim) {
		this.emailCim = emailCim;
	}
}
